home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / smail-3.1.28 / util / Makefile < prev    next >
Encoding:
Makefile  |  1992-09-20  |  5.6 KB  |  218 lines

  1. #!/bin/make -f
  2. # @(#)util/Makefile    1.20 9/20/92 16:54:43
  3. # Makefile for the smail utility tools
  4. #
  5. #    Copyright (C) 1987, 1988 Ronald S. Karr and Landon Curt Noll
  6. #    Copyright (C) 1992  Ronald S. Karr
  7. # See the file COPYING, distributed with smail, for restriction
  8. # and warranty information.
  9.  
  10. SHELL=/bin/sh
  11. MAKE=make
  12. GET=sccs get
  13. AR=ar
  14. LINT=lint
  15. CLEAN=sccs clean
  16. MK=${MAKE} -${MAKEFLAGS} SHELL=${SHELL}
  17. SRC_PREFIX=
  18. MKDEPEND=${ROOT}/conf/lib/mkdepend.sh
  19. MKDEFS=${ROOT}/conf/lib/mkdefs.sh
  20. CHECKDEFS=${ROOT}/conf/lib/checkdefs.sh
  21. MKDIRS=${ROOT}/conf/lib/mkdirs.sh
  22. INSTM=${ROOT}/conf/lib/instm.sh
  23. INST=${ROOT}/conf/lib/inst.sh
  24. XEXEC=${SHELL} ${ROOT}/conf/lib/xexec.sh
  25. DEFS_SH=defs.sh
  26. DEFS_H=defs.h
  27. DEFS_SED=defs.sed
  28.  
  29. ROOT=..
  30. SMAILSRC=${ROOT}/src
  31. UTILSRC=${ROOT}/util
  32. INCLUDES=-I${SMAILSRC} $$DBM_INCLUDES $$INCLUDES
  33. REMOTE_SRC=${SMAILSRC}/field.c ${SMAILSRC}/parse.c \
  34.        ${SMAILSRC}/ascii.c ${SMAILSRC}/string.c
  35. LOCAL_SRC=field.c parse.c ascii.c string.c
  36. LOCAL_OBJ=field.o parse.o ascii.o string.o
  37. UTIL_TARGETS=mkline mksort dcasehost mkdbm mkpath \
  38.          pathmerge checkerr getmap gleem unsharmap savelog \
  39.          mkuuwho mkhpath
  40. BIN_TARGETS=mkaliases
  41. TARGETS=${UTIL_TARGETS} ${BIN_TARGETS}
  42. STRIP_TARGETS=mkline mksort dcasehost mkdbm pathmerge gleem unsharmap
  43. OBJ=mkline.o mksort.o dcasehost.o mkdbm.o pathmerge.o \
  44.     gleem.o unsharmap.o ${LOCAL_OBJ}
  45. CSRC=mkline.c mksort.c dcasehost.c mkdbm.c pathmerge.c gleem.c unsharmap.c
  46. HSRC=dbm_compat.h
  47. SHSRC=mkpath.sh checkerr.sh getmap.sh mkaliases.sh \
  48.       savelog.sh mkuuwho.sh mkhpath.sh
  49. AWK_SRC=mkpath.awk mkuuwho.awk
  50. MISCSRC=Makefile
  51. SRC=${CSRC} ${HSRC} ${SHSRC} ${AWK_SRC} ${MISCSRC}
  52. COMPAT_LIB_DIR=${ROOT}/compat
  53. COMPAT_LIB=${COMPAT_LIB_DIR}/compat.a
  54.  
  55. .c.o:
  56.     @. ./${DEFS_SH}; ${XEXEC} $$CC $$CFLAGS ${INCLUDES} -c $*.c
  57.  
  58. all: ${TARGETS}
  59.  
  60. sources: ${SRC}
  61.  
  62. ${SRC}:
  63.     ${GET} $@
  64.  
  65. ${DEFS_H} ${DEFS_SH} ${DEFS_SED}:
  66.     ROOT=${ROOT} ${SHELL} ${MKDEFS}
  67.  
  68. ${COMPAT_LIB}:
  69.     cd ${COMPAT_LIB_DIR}; ${MK}
  70.  
  71. names:
  72.     @for i in ${SRC}; do echo ${SRC_PREFIX}$$i; done
  73.  
  74. install: all
  75.     @. ./${DEFS_SH}; \
  76.        case "$$DONT_INSTALL" in \
  77.        ?*)    echo Testing ... install ignored; exit 0;; \
  78.        esac; \
  79.        l_flag=; \
  80.        case "$$USE_SYMLINKS" in \
  81.        ?*)    l_flag=-l;; \
  82.        esac; \
  83.        ${XEXEC} ${SHELL} ${MKDIRS} -m 0755 $$UTIL_BIN_DIR $$SMAIL_BIN_DIR \
  84.                       $$LIB_DIR $$LIB_DIR/maps $$TMP_DIR; \
  85.        case "$$UNSHAR_MAP_DIR" in \
  86.        ?*)    ${XEXEC} ${SHELL} ${MKDIRS} -m 0755 $$UNSHAR_MAP_DIR \
  87.                        $$UNSHAR_MAP_DIR/work;; \
  88.        esac; \
  89.        ${XEXEC} ${SHELL} ${INSTM} -m 0555 $$UTIL_BIN_DIR ${UTIL_TARGETS}; \
  90.        case $$UTIL_BIN_DIR in \
  91.        "$$SMAIL_BIN_DIR") x=;; \
  92.        *)    xx=$$SMAIL_BIN_DIR/mkaliases;; \
  93.        esac; \
  94.        ${XEXEC} ${SHELL} ${INST} -m 0555 $$l_flag -d $$UTIL_BIN_DIR \
  95.         mkaliases mkaliases $$xx; \
  96.        ${XEXEC} ${SHELL} ${INSTM} -m 0444 $$UTIL_BIN_DIR ${AWK_SRC}; \
  97.        case "$$STRIP" in \
  98.        ?*)    for i in ${STRIP_TARGETS}; do \
  99.             ${XEXEC} strip $$UTIL_BIN_DIR/$$i; \
  100.             if [ -x /usr/bin/mcs ]; then \
  101.                 ${XEXEC} mcs -d $$UTIL_BIN_DIR/$$i; \
  102.             fi; \
  103.         done; \
  104.        esac
  105.  
  106. depend local_depend: check_defs
  107.     -@for i in ${LOCAL_SRC}; do \
  108.         if cmp -s $$i ${SMAILSRC}/$$i; then \
  109.             : ; \
  110.         else \
  111.             ${XEXEC} rm -f $$i; cp ${SMAILSRC}/$$i $$i; \
  112.         fi; \
  113.     done
  114.     @. ./${DEFS_SH}; ${XEXEC} ${SHELL} ${MKDEPEND} $$CPPFLAGS ${INCLUDES} \
  115.         Makefile ${CSRC} ${LOCAL_SRC}
  116.     . ./${DEFS_SH}; echo "$$DEFS_DEPEND" >> Makefile
  117.     chmod -w Makefile
  118.  
  119. check_defs:
  120.     SHELL=${SHELL} ROOT=${ROOT} ${SHELL} ${CHECKDEFS}
  121.  
  122. mkline:    mkline.o string.o field.o parse.o ascii.o ${DEFS_SH} ${COMPAT_LIB}
  123.     @. ./${DEFS_SH}; ${XEXEC} $$CC $$CFLAGS $$LDFLAGS -o mkline mkline.o \
  124.         string.o field.o parse.o ascii.o \
  125.         $$LIBS ${COMPAT_LIB}
  126.  
  127. mksort: mksort.o ascii.o ${DEFS_SH} ${COMPAT_LIB}
  128.     @. ./${DEFS_SH}; ${XEXEC} $$CC $$CFLAGS $$LDFLAGS -o mksort mksort.o \
  129.         ascii.o $$LIBS ${COMPAT_LIB}
  130.  
  131. dcasehost: dcasehost.o ascii.o ${DEFS_SH} ${COMPAT_LIB}
  132.     @. ./${DEFS_SH}; ${XEXEC} $$CC $$CFLAGS $$LDFLAGS -o dcasehost \
  133.         dcasehost.o ascii.o $$LIBS ${COMPAT_LIB}
  134.  
  135. mkdbm: mkdbm.o ascii.o ${DEFS_SH} ${COMPAT_LIB}
  136.     @. ./${DEFS_SH}; ${XEXEC} $$CC $$CFLAGS $$LDFLAGS -o mkdbm mkdbm.o \
  137.         ascii.o $$LIBS $$DBM_LIB ${COMPAT_LIB}
  138.  
  139. mkpath: mkpath.sh ${DEFS_SED}
  140.     @-rm -f $@
  141.     sed -f ${DEFS_SED} $@.sh > $@
  142.     chmod +x $@
  143.  
  144. checkerr: checkerr.sh ${DEFS_SED}
  145.     @-rm -f $@
  146.     sed -f ${DEFS_SED} $@.sh > $@
  147.     chmod +x $@
  148.  
  149. mkaliases: mkaliases.sh ${DEFS_SED}
  150.     @-rm -f $@
  151.     sed -f ${DEFS_SED} $@.sh > $@
  152.     chmod +x $@
  153.  
  154. pathmerge: pathmerge.o ascii.o ${DEFS_SH} ${COMPAT_LIB}
  155.     @. ./${DEFS_SH}; ${XEXEC} $$CC $$CFLAGS $$LDFLAGS -o pathmerge \
  156.         pathmerge.o ascii.o $$LIBS ${COMPAT_LIB}
  157.  
  158. getmap: getmap.sh ${DEFS_SED}
  159.     @-rm -f $@
  160.     sed -f ${DEFS_SED} $@.sh > $@
  161.     chmod +x $@
  162.  
  163. mkuuwho: mkuuwho.sh ${DEFS_SED}
  164.     @-rm -f $@
  165.     sed -f ${DEFS_SED} $@.sh > $@
  166.     chmod +x $@
  167.  
  168. savelog: savelog.sh ${DEFS_SED}
  169.     @-rm -f $@
  170.     sed -f ${DEFS_SED} $@.sh > $@
  171.     chmod +x $@
  172.  
  173. mkhpath: mkhpath.sh ${DEFS_SED}
  174.     @-rm -f $@
  175.     sed -f ${DEFS_SED} $@.sh > $@
  176.     chmod +x $@
  177.  
  178. gleem: gleem.o ${DEFS_SH} ${COMPAT_LIB}
  179.     @. ./${DEFS_SH}; ${XEXEC} $$CC $$CFLAGS $$LDFLAGS -o gleem gleem.o \
  180.         $$LIBS ${COMPAT_LIB}
  181.  
  182. unsharmap: unsharmap.o string.o ascii.o ${DEFS_SH} ${COMPAT_LIB}
  183.     @. ./${DEFS_SH}; ${XEXEC} $$CC $$CFLAGS $$LDFLAGS -o unsharmap \
  184.         unsharmap.o string.o ascii.o $$LIBS ${COMPAT_LIB}
  185.  
  186. field.c: ${SMAILSRC}/field.c
  187.     -rm -f $@
  188.     cp $? $@
  189.  
  190. parse.c: ${SMAILSRC}/parse.c
  191.     -rm -f $@
  192.     cp $? $@
  193.  
  194. ascii.c: ${SMAILSRC}/ascii.c
  195.     -rm -f $@
  196.     cp $? $@
  197.  
  198. string.c: ${SMAILSRC}/string.c
  199.     -rm -f $@
  200.     cp $? $@
  201.  
  202. clean:
  203.     rm -f ${OBJ} core a.out
  204.     rm -f ${DEFS_SH} ${DEFS_H} ${DEFS_SED} ${LOCAL_SRC} XMakefile
  205.  
  206. clobber: clean
  207.     rm -f ${TARGETS}
  208.     rm -f .${DEFS_SH} .${DEFS_H} .${DEFS_SED} .Makefile
  209.  
  210. nuke:    clobber
  211.     -${CLEAN}
  212.     -${GET} Makefile
  213.  
  214. ${OBJ}:    ${DEFS_SH}
  215.  
  216. # DO NOT REMOVE THIS LINE, OR "make depend" WILL NOT WORK
  217.